package com.ruoyi.business.mapper;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import com.ruoyi.business.domain.Indicator;
import org.apache.ibatis.annotations.Delete;

/**
 * 用于存储评价指标及其详细信息Mapper接口
 * 
 * @author song
 * @date 2024-11-24
 */
public interface IndicatorMapper 
{
    /**
     * 查询用于存储评价指标及其详细信息
     * 
     * @param id 用于存储评价指标及其详细信息主键
     * @return 用于存储评价指标及其详细信息
     */
    public Indicator selectIndicatorById(Long id);

    /**
     * 查询用于存储评价指标及其详细信息列表
     * 
     * @param indicator 用于存储评价指标及其详细信息
     * @return 用于存储评价指标及其详细信息集合
     */
    public ArrayList<Indicator> selectIndicatorList(Indicator indicator);

    /**
     * 新增用于存储评价指标及其详细信息
     * 
     * @param indicator 用于存储评价指标及其详细信息
     * @return 结果
     */
    public int insertIndicator(Indicator indicator);

    /**
     * 通过指标类型查找指标
     */
    public Indicator  checkIndicatorNameUnique(String evaluationMetric);


    public Map<String,Object> getAllWeight(String evaluationMetric);

    /**
     * 修改用于存储评价指标及其详细信息
     * 
     * @param indicator 用于存储评价指标及其详细信息
     * @return 结果
     */
    public int updateIndicator(Indicator indicator);

    /**
     * 删除用于存储评价指标及其详细信息
     * 
     * @param id 用于存储评价指标及其详细信息主键
     * @return 结果
     */
    public int deleteIndicatorById(Long id);

    /**
     * 批量删除用于存储评价指标及其详细信息
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteIndicatorByIds(Long[] ids);

    @Delete("DELETE FROM t_indicator")
    void clearTable();
}
